
package org.ufida.entitydata;

import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlType;


/**
 * <p>Java class for UFIDA.U9.SM.SO.SOLineDTOData complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="UFIDA.U9.SM.SO.SOLineDTOData">
 *   &lt;complexContent>
 *     &lt;extension base="{http://www.UFIDA.org/EntityData}UFSoft.UBF.Business.DataTransObjectBase">
 *       &lt;sequence>
 *         &lt;element name="m_sO" type="{http://www.UFIDA.org/EntityData}UFIDA.U9.SM.SO.SODTOData" minOccurs="0"/>
 *         &lt;element name="m_sOAddress" type="{http://www.UFIDA.org/EntityData}UFIDA.U9.SM.SO.SOAddressDTOData" minOccurs="0"/>
 *         &lt;element name="m_sOContact" type="{http://www.UFIDA.org/EntityData}UFIDA.U9.SM.SO.SOContactDTOData" minOccurs="0"/>
 *         &lt;element name="m_sOCost" type="{http://www.UFIDA.org/EntityData}UFIDA.U9.SM.SO.SOCostDTOData" minOccurs="0"/>
 *         &lt;element name="m_sODiscount" type="{http://www.UFIDA.org/EntityData}UFIDA.U9.SM.SO.SODiscountDTOData" minOccurs="0"/>
 *         &lt;element name="m_sOFee" type="{http://www.UFIDA.org/EntityData}UFIDA.U9.SM.SO.SOFeeDTOData" minOccurs="0"/>
 *         &lt;element name="m_sOLine" type="{http://www.UFIDA.org/EntityData}UFIDA.U9.SM.SO.SOLineData" minOccurs="0"/>
 *         &lt;element name="m_sOMemo" type="{http://www.UFIDA.org/EntityData}UFIDA.U9.SM.SO.SOMemoDTOData" minOccurs="0"/>
 *         &lt;element name="m_sOPriceLog" type="{http://www.UFIDA.org/EntityData}UFIDA.U9.SM.SO.SOPriceLogDTOData" minOccurs="0"/>
 *         &lt;element name="m_sOShiplines" type="{http://www.UFIDA.org/EntityData}ArrayOfUFIDA.U9.SM.SO.SOShiplineDTOData" minOccurs="0"/>
 *         &lt;element name="m_sOTax" type="{http://www.UFIDA.org/EntityData}UFIDA.U9.SM.SO.SOTaxDTOData" minOccurs="0"/>
 *         &lt;element name="m_subItemExeInfo" type="{http://www.UFIDA.org/EntityData}UFIDA.U9.SM.SO.SubItemExeInfoDTOData" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/extension>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "UFIDA.U9.SM.SO.SOLineDTOData", propOrder = {
    "mso",
    "msoAddress",
    "msoContact",
    "msoCost",
    "msoDiscount",
    "msoFee",
    "msoLine",
    "msoMemo",
    "msoPriceLog",
    "msoShiplines",
    "msoTax",
    "mSubItemExeInfo"
})
public class UFIDAU9SMSOSOLineDTOData
    extends UFSoftUBFBusinessDataTransObjectBase
{

    @XmlElementRef(name = "m_sO", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<UFIDAU9SMSOSODTOData> mso;
    @XmlElementRef(name = "m_sOAddress", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<UFIDAU9SMSOSOAddressDTOData> msoAddress;
    @XmlElementRef(name = "m_sOContact", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<UFIDAU9SMSOSOContactDTOData> msoContact;
    @XmlElementRef(name = "m_sOCost", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<UFIDAU9SMSOSOCostDTOData> msoCost;
    @XmlElementRef(name = "m_sODiscount", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<UFIDAU9SMSOSODiscountDTOData> msoDiscount;
    @XmlElementRef(name = "m_sOFee", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<UFIDAU9SMSOSOFeeDTOData> msoFee;
    @XmlElementRef(name = "m_sOLine", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<UFIDAU9SMSOSOLineData> msoLine;
    @XmlElementRef(name = "m_sOMemo", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<UFIDAU9SMSOSOMemoDTOData> msoMemo;
    @XmlElementRef(name = "m_sOPriceLog", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<UFIDAU9SMSOSOPriceLogDTOData> msoPriceLog;
    @XmlElementRef(name = "m_sOShiplines", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<ArrayOfUFIDAU9SMSOSOShiplineDTOData> msoShiplines;
    @XmlElementRef(name = "m_sOTax", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<UFIDAU9SMSOSOTaxDTOData> msoTax;
    @XmlElementRef(name = "m_subItemExeInfo", namespace = "http://www.UFIDA.org/EntityData", type = JAXBElement.class)
    protected JAXBElement<UFIDAU9SMSOSubItemExeInfoDTOData> mSubItemExeInfo;

    /**
     * Gets the value of the mso property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSODTOData }{@code >}
     *     
     */
    public JAXBElement<UFIDAU9SMSOSODTOData> getMSO() {
        return mso;
    }

    /**
     * Sets the value of the mso property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSODTOData }{@code >}
     *     
     */
    public void setMSO(JAXBElement<UFIDAU9SMSOSODTOData> value) {
        this.mso = ((JAXBElement<UFIDAU9SMSOSODTOData> ) value);
    }

    /**
     * Gets the value of the msoAddress property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSOAddressDTOData }{@code >}
     *     
     */
    public JAXBElement<UFIDAU9SMSOSOAddressDTOData> getMSOAddress() {
        return msoAddress;
    }

    /**
     * Sets the value of the msoAddress property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSOAddressDTOData }{@code >}
     *     
     */
    public void setMSOAddress(JAXBElement<UFIDAU9SMSOSOAddressDTOData> value) {
        this.msoAddress = ((JAXBElement<UFIDAU9SMSOSOAddressDTOData> ) value);
    }

    /**
     * Gets the value of the msoContact property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSOContactDTOData }{@code >}
     *     
     */
    public JAXBElement<UFIDAU9SMSOSOContactDTOData> getMSOContact() {
        return msoContact;
    }

    /**
     * Sets the value of the msoContact property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSOContactDTOData }{@code >}
     *     
     */
    public void setMSOContact(JAXBElement<UFIDAU9SMSOSOContactDTOData> value) {
        this.msoContact = ((JAXBElement<UFIDAU9SMSOSOContactDTOData> ) value);
    }

    /**
     * Gets the value of the msoCost property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSOCostDTOData }{@code >}
     *     
     */
    public JAXBElement<UFIDAU9SMSOSOCostDTOData> getMSOCost() {
        return msoCost;
    }

    /**
     * Sets the value of the msoCost property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSOCostDTOData }{@code >}
     *     
     */
    public void setMSOCost(JAXBElement<UFIDAU9SMSOSOCostDTOData> value) {
        this.msoCost = ((JAXBElement<UFIDAU9SMSOSOCostDTOData> ) value);
    }

    /**
     * Gets the value of the msoDiscount property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSODiscountDTOData }{@code >}
     *     
     */
    public JAXBElement<UFIDAU9SMSOSODiscountDTOData> getMSODiscount() {
        return msoDiscount;
    }

    /**
     * Sets the value of the msoDiscount property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSODiscountDTOData }{@code >}
     *     
     */
    public void setMSODiscount(JAXBElement<UFIDAU9SMSOSODiscountDTOData> value) {
        this.msoDiscount = ((JAXBElement<UFIDAU9SMSOSODiscountDTOData> ) value);
    }

    /**
     * Gets the value of the msoFee property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSOFeeDTOData }{@code >}
     *     
     */
    public JAXBElement<UFIDAU9SMSOSOFeeDTOData> getMSOFee() {
        return msoFee;
    }

    /**
     * Sets the value of the msoFee property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSOFeeDTOData }{@code >}
     *     
     */
    public void setMSOFee(JAXBElement<UFIDAU9SMSOSOFeeDTOData> value) {
        this.msoFee = ((JAXBElement<UFIDAU9SMSOSOFeeDTOData> ) value);
    }

    /**
     * Gets the value of the msoLine property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSOLineData }{@code >}
     *     
     */
    public JAXBElement<UFIDAU9SMSOSOLineData> getMSOLine() {
        return msoLine;
    }

    /**
     * Sets the value of the msoLine property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSOLineData }{@code >}
     *     
     */
    public void setMSOLine(JAXBElement<UFIDAU9SMSOSOLineData> value) {
        this.msoLine = ((JAXBElement<UFIDAU9SMSOSOLineData> ) value);
    }

    /**
     * Gets the value of the msoMemo property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSOMemoDTOData }{@code >}
     *     
     */
    public JAXBElement<UFIDAU9SMSOSOMemoDTOData> getMSOMemo() {
        return msoMemo;
    }

    /**
     * Sets the value of the msoMemo property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSOMemoDTOData }{@code >}
     *     
     */
    public void setMSOMemo(JAXBElement<UFIDAU9SMSOSOMemoDTOData> value) {
        this.msoMemo = ((JAXBElement<UFIDAU9SMSOSOMemoDTOData> ) value);
    }

    /**
     * Gets the value of the msoPriceLog property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSOPriceLogDTOData }{@code >}
     *     
     */
    public JAXBElement<UFIDAU9SMSOSOPriceLogDTOData> getMSOPriceLog() {
        return msoPriceLog;
    }

    /**
     * Sets the value of the msoPriceLog property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSOPriceLogDTOData }{@code >}
     *     
     */
    public void setMSOPriceLog(JAXBElement<UFIDAU9SMSOSOPriceLogDTOData> value) {
        this.msoPriceLog = ((JAXBElement<UFIDAU9SMSOSOPriceLogDTOData> ) value);
    }

    /**
     * Gets the value of the msoShiplines property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link ArrayOfUFIDAU9SMSOSOShiplineDTOData }{@code >}
     *     
     */
    public JAXBElement<ArrayOfUFIDAU9SMSOSOShiplineDTOData> getMSOShiplines() {
        return msoShiplines;
    }

    /**
     * Sets the value of the msoShiplines property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link ArrayOfUFIDAU9SMSOSOShiplineDTOData }{@code >}
     *     
     */
    public void setMSOShiplines(JAXBElement<ArrayOfUFIDAU9SMSOSOShiplineDTOData> value) {
        this.msoShiplines = ((JAXBElement<ArrayOfUFIDAU9SMSOSOShiplineDTOData> ) value);
    }

    /**
     * Gets the value of the msoTax property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSOTaxDTOData }{@code >}
     *     
     */
    public JAXBElement<UFIDAU9SMSOSOTaxDTOData> getMSOTax() {
        return msoTax;
    }

    /**
     * Sets the value of the msoTax property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSOTaxDTOData }{@code >}
     *     
     */
    public void setMSOTax(JAXBElement<UFIDAU9SMSOSOTaxDTOData> value) {
        this.msoTax = ((JAXBElement<UFIDAU9SMSOSOTaxDTOData> ) value);
    }

    /**
     * Gets the value of the mSubItemExeInfo property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSubItemExeInfoDTOData }{@code >}
     *     
     */
    public JAXBElement<UFIDAU9SMSOSubItemExeInfoDTOData> getMSubItemExeInfo() {
        return mSubItemExeInfo;
    }

    /**
     * Sets the value of the mSubItemExeInfo property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link UFIDAU9SMSOSubItemExeInfoDTOData }{@code >}
     *     
     */
    public void setMSubItemExeInfo(JAXBElement<UFIDAU9SMSOSubItemExeInfoDTOData> value) {
        this.mSubItemExeInfo = ((JAXBElement<UFIDAU9SMSOSubItemExeInfoDTOData> ) value);
    }

}
